<?php
/*
 *      osmetadictionary.php
 *      
 *      Copyright 2010 Vitaliy Rakitin <virak@ukr.net>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */

//require_once($_SERVER['DOCUMENT_ROOT']."/classes/System/osobject.php");

//require_once($_SERVER['DOCUMENT_ROOT']."/classes/System/oslistform.php");
//require_once($_SERVER['DOCUMENT_ROOT']."/classes/System/ositemform.php");
//require_once($_SERVER['DOCUMENT_ROOT']."/classes/System/oschoiceform.php");
//require_once($_SERVER['DOCUMENT_ROOT']."/classes/System/ositems.php");
//require_once($_SERVER['DOCUMENT_ROOT']."/classes/System/osentity.php");
require_once($_SERVER['DOCUMENT_ROOT']."/classes/metadata/osmetafields.php");
require_once($_SERVER['DOCUMENT_ROOT']."/classes/metadata/osmetatabulars.php");
 
class osmetadictionary{

	protected $uuid;
	protected $name;
	protected $fields;
	//private $items;
	private $tabulars;
	//protected $forms;
	private $defaultlistform = null;
	private $defaultchoiceform = null;
	private $defaultitemform = null;
	//private $module;


	function __construct($uuid) {
		$this->uuid = $uuid;
		$this->fields = new osmetafields();
		//$this->items = new ositems($this->uuid, $this->fields);
		$this->tabulars = new osmetatabulars();
	}

/*
	function defaultitemform() {
		return new ositemform($this);
	}
*/

	function __get($name) {
		switch ($name) {
			case "fields": { return $this->fields; break;} // Fields of the table
			case "tabulars": { return $this->tabulars; break;} // Tabulars of the table
			//case "defaultlistform": { return new oslistform($this); break;}
			//case "defaultitemform": { return new ositemform($this); break;}
			//case "choiceform": { return new oschoiceform($this); break;}
			case "name": { return $this->name;break;}
			case "uuid": { return $this->uuid;break;}
			//default : {return parent::__get($name);break;}
		}
	}

	function __set($name, $value) {
		switch ($name) {
			case "name": { $this->name = $value;break;}
			//default : {parent::__set($name, $value);}
		}
	}
}
?>
